home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Programming / AmigaTalk / Intuition / Screen.st < prev    next >
Text File  |  2000-05-06  |  4KB  |  142 lines

  1. "-------------------------------------------------"
  2. " Screen Class implements control of Amiga Screens"
  3. " screenModeID = 32-bit display mode ID value     "
  4. "-------------------------------------------------"
  5.  
  6. Class Screen :Glyph
  7. ! screenTitle screenModeID leftEdge topEdge  width      height   depth
  8.   detailPen   blockPen     flags    fontName bitMapName viewMode type
  9. !
  10. [
  11.    pullScreenUp: numLines    
  12.       "numLines <= 0"
  13.       <primitive 180 5 numLines screenTitle>
  14. |     
  15.    pushScreenDown: numLines  
  16.       "numLines >= 0"
  17.       <primitive 180 6 numLines screenTitle>
  18. |     
  19.    redrawScreen
  20.       <primitive 180 7 screenTitle>
  21. |     
  22.    reOpenScreen
  23.       <primitive 180 8 screenTitle>
  24. |
  25.    displayBeep
  26.       <primitive 180 4 'DisplayBeep' screenTitle>
  27. |
  28.    screenToBack
  29.       <primitive 180 4 'ScreenToBack' screenTitle>
  30. |
  31.    screenToFront
  32.       <primitive 180 4 'ScreenToFront' screenTitle>
  33. |
  34.    turnOffTitle
  35.       <primitive 180 4 'TurnOffTitle' screenTitle>
  36. |
  37.    showTitle
  38.       <primitive 180 4 'ShowTitle' screenTitle>
  39. |
  40.    setType: newType
  41.       <primitive 180 3 11 newType screenTitle>.
  42.       type <- newType
  43. |
  44.    setViewMode: newViewMode
  45.       <primitive 180 3 10 newViewMode screenTitle>.
  46.       viewMode <- newViewMode
  47. |
  48.    setTitle: newTitle
  49.       <primitive 180 3 8 newTitle screenTitle>.
  50.       screenTitle <- newTitle
  51. |
  52.    setDepth: newDepth
  53.       <primitive 180 3 9 newDepth screenTitle>.
  54.       depth <- newDepth
  55. |
  56.    setFont: newFontName
  57.       <primitive 180 3 7 newFontName screenTitle>.
  58.       fontName <- newFontName
  59. |
  60.    setBitMap: newBitMapName
  61.       <primitive 180 3 12 newBitMapName screenTitle>.
  62.       bitMapName <- newBitMapName
  63. |
  64.    getOrigin
  65.       leftEdge <- <primitive 180 2 0 screenTitle>.
  66.       topEdge  <- <primitive 180 2 1 screenTitle>.
  67.       ^ leftEdge @ topEdge
  68. |
  69.    getScreenSize
  70.       width  <- <primitive 180 2 2 screenTitle>.
  71.       height <- <primitive 180 2 3 screenTitle>.
  72.       ^ width @ height
  73. |
  74.    getScreenPens
  75.       detailPen <- <primitive 180 2 4 screenTitle>.
  76.       blockPen  <- <primitive 180 2 5 screenTitle>.
  77.       ^ detailPen @ blockPen
  78. |
  79.    getFlags
  80.       ^ flags <- <primitive 180 2 6 screenTitle>
  81. |
  82.    getType
  83.       ^ type <- <primitive 180 2 11 screenTitle>
  84. |
  85.    getViewMode
  86.       ^ viewMode <- <primitive 180 2 10 screenTitle>
  87. |
  88.    getTitle
  89.       ^ screenTitle <- <primitive 180 2 8 screenTitle>
  90. |
  91.    getDepth
  92.       ^ depth <- <primitive 180 2 9 screenTitle>
  93. |
  94.    getFontName
  95.       ^ fontName <- <primitive 180 2 7 screenTitle>
  96. |
  97.    getBitMapName
  98.       ^ bitMapName <- <primitive 180 2 12 screenTitle>
  99. |
  100.    setOrigin: aPoint ! x y !
  101.       x <- aPoint x.
  102.       y <- aPoint y.
  103.       <primitive 180 3 0 x screenTitle>.
  104.       <primitive 180 3 1 y screenTitle>.
  105.       leftEdge <- x.
  106.       topEdge  <- y
  107. |
  108.    setScreenSize: sizePoint ! w h !
  109.       w <- sizePoint x.
  110.       h <- sizePoint y.
  111.       <primitive 180 3 2 w screenTitle>.
  112.       <primitive 180 3 3 h screenTitle>.
  113.       width  <- w.
  114.       height <- h
  115. |
  116.    setScreenPens: pensPoint ! fp bp !
  117.       fp <- pensPoint x.
  118.       bp <- pensPoint y.
  119.       <primitive 180 3 4 fp screenTitle>.
  120.       <primitive 180 3 5 bp screenTitle>.
  121.       detailPen <- fp.
  122.       blockPen  <- bp
  123. |
  124.    close
  125.       <primitive 180 0 screenTitle>.
  126.       screenTitle <- nil
  127. |
  128.    setScreenModeID: newScreenModeID
  129.       screenModeID <- newScreenModeID
  130. |
  131.    getScreenModeID
  132.       ^ screenModeID
  133. |
  134.    open
  135.       <primitive 180 1 screenModeID screenTitle>
  136. |
  137.    new: newScreenTitle
  138.       screenTitle  <- newScreenTitle.
  139.       screenModeID <- 0.               "0 == DEFAULT_MONITOR_ID."    
  140.       ^ self
  141. ]
  142.